package org.example;

import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;

public class IO_Demo11 {
    public static void main(String[] args) throws IOException {
        //按要求排序
        //读取数据 文件中有2-3-5-1-6-7-8  转成1-2-3-4-5-6-7-8
        FileReader fr=new FileReader("文件路径");

        StringBuilder bu=new StringBuilder();
        int ch;
        while((ch=fr.read())!=-1){
            //判断是否是数字
            if(ch>=48&&ch<=57){
                //拼接
                bu.append((char)ch);
            }
        }
        fr.close();
        System.out.println(bu);
        //排序
        String str=bu.toString();
         /*
         Integer[] arr = Arrays.stream(bu.toString()//将字符串转换为流
                        .split("-"))//将流中的元素转换为数组
                        .map(Integer::parseInt)//将数组中的元素转换为整数
                        .sorted()//对流中的元素进行排序
                        .toArray(Integer[]::new);//将流中的元素转换为数组
        */
        String[] sp = str.split("-");
        ArrayList<Integer> list=new ArrayList<>();
        for (String s : sp) {
            list.add(Integer.parseInt(s));
        }
        System.out.println(list);
        Collections.sort(list);
        //写出
        FileWriter fw=new FileWriter("目标文件路径");
        /*
        String s=Arrays.toString(arr).replace(",","-");
        String s1 = s.substring(1, s.length() - 1);
        fw.write(s1);
        fw.close();
        */
        for (int i = 0; i < list.size(); i++) {
            if(i==list.size()-1){
                fw.write(list.get(i)+"");
            }else{
                fw.write(list.get(i)+"-");
            }
        }
        //关闭
        fw.close();
    }
}
